package br.ufpe.cin.ip.biblioteca.entidades;

import java.io.Serializable;

public abstract class Publicacao implements Serializable {
	private static final long serialVersionUID = 2168685499288218410L;
	private int id;
	private String titulo;
	private String local;
	private String matriculaUsuarioEmprestimo;
	
	public Publicacao() {
		this(0);
	}
	
	public Publicacao(int id) {
		super();
		this.id = id;
		this.titulo = "";
		this.local = "";
		this.matriculaUsuarioEmprestimo = "";
	}

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getTitulo() {
		return this.titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public String getLocal() {
		return this.local;
	}

	public void setLocal(String local) {
		this.local = local;
	}

	public String getMatriculaUsuarioEmprestimo() {
		return this.matriculaUsuarioEmprestimo;
	}

	public void setMatriculaUsuarioEmprestimo(String matriculaUsuarioEmprestimo) {
		this.matriculaUsuarioEmprestimo = matriculaUsuarioEmprestimo;
	}

	@Override
	public int hashCode() {
		return this.id;
	}
	
	@Override
	public boolean equals(Object obj) {
		if(obj!=null && obj instanceof Publicacao && (this==obj || this.id==((Publicacao) obj).getId())) {
			return true;
		} else {
			return false;
		}
	}
	
	@Override
	public String toString() {
		String s = "";
		s += "[ID: " + this.id + "] ";
		
		if(this.titulo!=null && !this.titulo.isEmpty()) {
			s += this.titulo;
		}
		
		if(!s.isEmpty())
			return s;
		else
			return super.toString();
	}
}
